package com.skivingcloud.admin.sys.vo;

import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serializable;
import java.util.List;
import java.util.StringJoiner;

/**
 * @author hushouquan
 */
@Schema(name = "NTreeCommonVo对象", title = "普通树形结构")
public class NTreeCommonVo implements Serializable{
    private String key;
    private String label;
    private boolean checkboxDisabled;
    private boolean disabled;
    private boolean isLeaf;
    private List<NTreeCommonVo> children;
    private String prefix;
    private String suffix;
    
    private String parentId;
    
    public String getKey(){
        return key;
    }
    
    public void setKey(String key){
        this.key = key;
    }
    
    public String getLabel(){
        return label;
    }
    
    public void setLabel(String label){
        this.label = label;
    }
    
    public boolean isCheckboxDisabled(){
        return checkboxDisabled;
    }
    
    public void setCheckboxDisabled(boolean checkboxDisabled){
        this.checkboxDisabled = checkboxDisabled;
    }
    
    public boolean isDisabled(){
        return disabled;
    }
    
    public void setDisabled(boolean disabled){
        this.disabled = disabled;
    }
    
    public boolean isLeaf(){
        return isLeaf;
    }
    
    public void setLeaf(boolean leaf){
        isLeaf = leaf;
    }
    
    public List<NTreeCommonVo> getChildren(){
        return children;
    }
    
    public void setChildren(List<NTreeCommonVo> children){
        this.children = children;
    }
    
    public String getPrefix(){
        return prefix;
    }
    
    public void setPrefix(String prefix){
        this.prefix = prefix;
    }
    
    public String getSuffix(){
        return suffix;
    }
    
    public void setSuffix(String suffix){
        this.suffix = suffix;
    }
    
    public String getParentId(){
        return parentId;
    }
    
    public void setParentId(String parentId){
        this.parentId = parentId;
    }
    
    @Override
    public String toString(){
        return new StringJoiner(", ", NTreeCommonVo.class.getSimpleName() + "[", "]")
                .add("key='" + key + "'")
                .add("label='" + label + "'")
                .add("checkboxDisabled=" + checkboxDisabled)
                .add("disabled=" + disabled)
                .add("isLeaf=" + isLeaf)
                .add("children=" + children)
                .add("prefix='" + prefix + "'")
                .add("suffix='" + suffix + "'")
                .add("parentId='" + parentId + "'")
                .toString();
    }
}
